/**
 * 通过key找到在列表中对应的显示
 * @param {Object} obj
 * @param obj.dataList 数据列表
 * @param obj.value    数据的值对应的字段名称   例如 'value'
 * @param obj.label    数据的说明对应的字段名称 例如 'label'
 * @param obj.data     当前传入的数据值
 * @return name        返回当前传入值在数组中对应的名字
 */
export const getDataName = (obj) => {
    let name = obj.data;
    if (Array.isArray(obj.dataList) && obj.dataList.length > 0) {
        for (let i = 0; i < obj.dataList.length; i++) {
            if (obj.dataList[i][obj.value] === obj.data) {
                name = obj.dataList[i][obj.label]
            }
        }
    }
    return name
};

/**
 * 通过key找到在列表中对应的color显示
 * @param {Object} obj
 * @param obj.dataList 数据列表
 * @param obj.value    数据的值对应的字段名称   例如 'value'
 * @param obj.label    数据的说明对应的字段名称 例如 'label'
 * @param obj.data     当前传入的数据值
 * @return nameColor   返回当前传入值在数组中对应的名字的颜色值
 */
export const getDataNameColor = (obj) => {
    let nameColor = obj.data;
    if (Array.isArray(obj.dataList) && obj.dataList.length > 0) {
        for (const item of obj.dataList) {
            if (item.value === obj.data) {
                nameColor = item.color;
            }
        }
    }
    return nameColor;
};

/**
 * 日期格式化
 * @param date
 * @param fmt
 * @returns {*}
 */
export const formatDate = (time,fmt) => {
    let date = new Date(time);
    let o = {
        "M+" : date.getMonth()+1,                 //月份
        "d+" : date.getDate(),                    //日
        "h+" : date.getHours(),                   //小时
        "m+" : date.getMinutes(),                 //分
        "s+" : date.getSeconds(),                 //秒
        "q+" : Math.floor((date.getMonth()+3)/3), //季度
        "S"  : date.getMilliseconds()             //毫秒
    };

    if(/(y+)/.test(fmt))
        fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
    for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
        }
    }
    return fmt;
};
